<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        class Father {
            constructor(x, y) {
                this.x = x;
                this.y = y;
            }
            add() {
                console.log(this.x + this.y);
            }
        }
        //子类继承父类加法方法 同时 扩展减法方法
        class Son extends Father {
            constructor(x, y) {
                //利用super调用父类的构造函数
                //super必须在子类this之前调用
                super(x,y);
                this.max = x;
                this.min = y;
            }
            discount() {
                // super.add();  可以再方法里面调用父类的方法，但不能再构造函数里调用父类的方法，只能在子类的构造方法中调用父类的构造方法
                console.log(this.x - this.y);
                console.log(this.max * this.min);
            }
        }

        const p1 = new Son(5, 3);
        p1.add();
        p1.discount();
    </script>
</body>

</html>